Welcome to python!

15、用xlwings读写检查工作簿是否已打开,否则出现错误

import xlwings as xw

import os

def get_workbook(file_path):

"""智能获取工作簿:已打开则连接,未打开则打开"""

try:

# 尝试通过文件名直接连接已打开的工作簿

file_name = os.path.basename(file_path)

wb = xw.books[file_name] # 根据文件名匹配

return wb

except (KeyError, xw.XlwingsError):

# 未找到则打开工作簿(自动附加到现有Excel实例或启动新实例)

return xw.Book(file_path)

target_file1 = os.path.join(r"E:\韦瑞奎\B3盛凌新OA流程报价\202503060089", "1.成本分析模板(新).xlsb")

# 获取工作簿

wb1 = get_workbook(target_file1)

返回:

<Book [1.成本分析模板(新).xlsb]>